package com.zenithmind.mall.pojo.query;

import com.zenithmind.common.query.BaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单详情查询条件
 * 
 * @author ZenithMind Team
 * @since 2025-06-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OrderItemQuery extends BaseQuery {

    /**
     * 订单ID
     */
    private String orderId;

    /**
     * 商品ID
     */
    private String productId;

    /**
     * 商品名称（模糊搜索）
     */
    private String productName;

    /**
     * 商品SKU
     */
    private String productSku;

    /**
     * 最低单价
     */
    private BigDecimal minPrice;

    /**
     * 最高单价
     */
    private BigDecimal maxPrice;

    /**
     * 最小数量
     */
    private Integer minQuantity;

    /**
     * 最大数量
     */
    private Integer maxQuantity;

    /**
     * 最低总金额
     */
    private BigDecimal minTotalAmount;

    /**
     * 最高总金额
     */
    private BigDecimal maxTotalAmount;

    /**
     * 是否已评价（0-未评价，1-已评价）
     */
    private Integer isReviewed;

    /**
     * 用户ID（用于查询用户购买记录）
     */
    private String userId;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 排序字段（createTime-创建时间，productPrice-单价，quantity-数量，totalAmount-总金额）
     */
    private String sortField = "createTime";

    /**
     * 排序方向（asc-升序，desc-降序）
     */
    private String sortOrder = "desc";
}
